import { PageQuery } from "@/model";

/**
 * 登录管理员信息
 */
export interface AdminInfo {
  /**
   * 管理员id
   */
  id: number;
  /**
   * 头像
   */
  avatar: string;
  /**
   * 角色集合
   */
  roleList: string[];
  /**
   * 权限集合
   */
  permissionList: string[];
}

/**
 * 管理员角色
 */
export interface AdminRole {
  /**
   * 角色id
   */
  id: string;
  /**
   * 角色名
   */
  roleName: string;
}

/**
 * 管理员
 */
export interface Admin {
  /**
   * 管理员id
   */
  id: number;
  /**
   * 管理员昵称
   */
  nickname: string;
  /**
   * 管理员头像
   */
  avatar: string;
  /**
   * 登录ip
   */
  ipAddress: string;
  /**
   * 登录地址
   */
  ipSource: string;
  /**
   * 登录方式
   */
  loginType: number;
  /**
   * 管理员角色
   */
  roleList: AdminRole[];
  /**
   * 是否禁用 (0否 1是)
   */
  isDisable: number;
  /**
   * 登录时间
   */
  loginTime: string;
  /**
   * 创建时间
   */
  createTime: string;
}

/**
 * 管理员查询参数
 */
export interface AdminQuery extends PageQuery {
  /**
   * 关键词
   */
  keyword?: string;
}

/**
 * 管理员表单
 */
export interface AdminForm {
  /**
   * 管理员id
   */
  id: number;
  /**
   * 昵称
   */
  nickname: string;
  /**
   * 角色id
   */
  roleIdList: string[];
}

/**
 * 管理员状态
 */
export interface AdminStatus {
  /**
   * 管理员id
   */
  id: number;
  /**
   * 是否禁用 (0否 1是)
   */
  isDisable: number;
}

/**
 * 修改密码
 */
export interface Password {
  /**
   * 旧密码
   */
  oldPassword: string;
  /**
   * 新密码
   */
  newPassword: string;
  /**
   * 旧密码
   */
  checkPassword: string;
}
